package com.ldk.framework.dao;

import java.util.List;

import com.ldk.framework.entity.CountBean;
import com.ldk.framework.entity.Vehicle;
import org.springframework.data.domain.Pageable;

import com.ldk.base.framework.dao.IBaseDAO;
import com.ldk.framework.entity.Driver;
import com.ldk.framework.entity.DriverBindCar;
import com.ldk.framework.entity.LinkDriver;
/**
* DriverDAO接口类
* @author xiangwl
*/
public interface IDriverDAO extends IBaseDAO<Driver> {
	/**
	 * 获取指定范围的用户列表
	 * @param dbKey
	 * @param query
	 * @param distance
	 * @return
	 */
	List<Driver> searchByDistance(String dbKey, Driver query, double distance, Pageable pageable);
	
	/**
	 * 获取关联司机信息
	 * @param dbKey
	 * @param openId
	 * @return
	 */
	LinkDriver getLinkDriver(String dbKey, String openId);


	/**
	 * 查询绑定车辆的驾驶员
	 * @param dbKey
	 * @return
	 */
	List<DriverBindCar> findBindDriverList(String dbKey);

	/**
	 * 查询未绑定的车辆
	 * @param dbKey
	 * @return
	 */
	List<DriverBindCar> findVehicleList(String dbKey);

	CountBean countAnalysis(String dbKey, String companyId);
}
